package com.cetool.autocms.service.user;

import com.cetool.autocms.common.PageRequest;
import com.cetool.autocms.enumeration.OperateEnum;
import com.cetool.autocms.pojo.dto.user.ClientUserInfoDTO;
import com.cetool.autocms.pojo.request.user.DeleteUserRequest;
import com.cetool.autocms.pojo.request.user.QueryClientUserListRequest;
import com.cetool.autocms.pojo.request.user.SaveClientUserRequest;
import com.cetool.autocms.pojo.request.user.UpdateClientUserRequest;
import com.github.pagehelper.PageSerializable;

/**
 * 客户端用户信息服务接口层
 *
 * @author 戴越
 * @date 2021/11/16
 */
public interface ClientUserService {

    /**
     * 新增用户
     *
     * @param request 新增用户请求实体
     * @author 戴越
     * @date 2021/11/9
     * @return 操作信息
     */
    OperateEnum saveClientUser(SaveClientUserRequest request);

    /**
     * 分页查询客户端用户信息列表
     *
     * @param request 分页查询客户端用户信息请求实体
     * @return 管理员用户信息分页列表
     * @author 戴越
     * @date 2021/11/10
     */
    PageSerializable<ClientUserInfoDTO> listPageClientUser(PageRequest<QueryClientUserListRequest> request);

    /**
     * 删除管理员用户信息
     *
     * @param request 删除管理员用户信息请求实体
     * @return 操作信息
     * @author 戴越
     * @date 2021/11/10
     */
    OperateEnum deleteClientUser(DeleteUserRequest request);

    /**
     * 修改客户端用户信息
     *
     * @param request 修改客户端用户信息请求实体F
     * @return 操作信息
     * @author 戴越
     * @date 2021/11/10
     */
    OperateEnum updateClientUser(UpdateClientUserRequest request);

}
